package cn.tedu.store.service;

import cn.tedu.store.bean.User;

public interface IUserService {
	User login(String username,String password);
	/**
	 * 注册功能
	 * @param user 需要注册的用户
	 * @return 注册用户的ID
	 */
	Integer register (User user);
	/**
	 * 根据用户名查找用户
	 * @param username 用户名
	 * @return 所要查询的用户
	 */
	User UserFindUserByUsername(String username);
	/**
	 * 检查某电子邮箱是否已经在数据表中存在
	 * @param email电子邮箱
	 * @return 如果存在返回true,如果不存在返回false
	 */
	boolean checkEmailExists(String email);
	/**
	 * 检查某电话号码是否已经在数据表中存在
	 * @param phone电话号码
	 * @return 如果存在返回true,如果不存在返回false
	 */
	boolean checkPhoneExists(String phone);
	/**
	 * 检查用户名是否存在 
	 * @param username
	 * @return
	 */
	boolean checkUsernameExists(String username);
	/**
	 * 修改密码
	 * @param id 用户ID
	 * @param oldPassword  旧密码
	 * @param newPassword 新密码
	 * @return
	 */
	Integer changePassword(Integer id,String oldPassword,String newPassword);
	/**
	 * 修改个人信息
	 * @param id 用户id
	 * @param username 用户名
	 * @param gender 用户性别
	 * @param phone 用户手机号
	 * @param email 用户邮箱
	 * @return 持久层被修改的行数
	 */
	Integer editProfile(Integer id,String username,Integer gender,String phone,String email);
	/**
	 * 根据用户ID查询用户
	 * @param id 用户ID
	 * @return 查询到的用户
	 */
	User findUserById(Integer id);
}
